#include "letras.h"

void leerFuente(tipoFuente *fuente)
{
	fuente->imagen = IMG_Load("recursos/fonts/font_arial.gif"); 
	if(fuente->imagen == NULL)
		perror(SDL_GetError());

	fuente->ancho=256;
	fuente->alto=256;
	fuente->anchoLetra=16;
	fuente->altoLetra=16;
	fuente->primeraLetra=0;
}
 
void escribirLetra(int x, int y, char letra, tipoFuente *fuente,SDL_Surface *screen)
{
	SDL_Rect destino, origen; 
	int fila, columna;
	int letrasPorFila, letrasPorColumna;

	letrasPorFila = fuente->ancho/fuente->anchoLetra;
	letrasPorColumna = fuente->alto/fuente->altoLetra;
	fila = letra / letrasPorColumna;
	columna = letra % letrasPorColumna;
	origen.x = columna * fuente->anchoLetra;
	origen.y = fila * fuente->altoLetra;
	origen.w = 16;
	origen.h = 16;
	destino.x = x;
	destino.y = y;
	SDL_BlitSurface(fuente->imagen, &origen, screen, &destino); 
}

void escribirFrase(int x, int y, char frase[], tipoFuente *fuente, SDL_Surface *screen)
{
	int i;
	for (i=0; i<strlen(frase); i++)
		escribirLetra(x+i*fuente->anchoLetra, y, frase[i], fuente, screen);
}

void imprimirMarco(int x, int y, SDL_Surface *screen)
{
	SDL_Rect destino; 
	SDL_Surface *marco;
	marco = IMG_Load("recursos/img/marco.png"); 
	if(marco == NULL)
		perror(SDL_GetError());
	destino.x = x;
	destino.y = y;

	SDL_BlitSurface(marco, NULL, screen, &destino); 
	SDL_FreeSurface(marco);
}
